同步非阻塞 Input-Output

‌‌‌‌  同步非阻塞 IO 下应用的线程需要不断地进行 IO 系统的调用,轮询数据是否已经准备好,如果没有准备好久继续轮询,直到完成 IO 系统效用位置。在线程发起 IO 系统调用时,如果内核还在等待数据则线程立即返回,如果内核数据已经准备则线程会阻塞住等待内核缓冲区的操作彻底完成后返回用户空间。

‌‌‌‌  image.png

同步非阻塞 IO 的优点

‌‌‌‌  线程在内核层面做到了异步,内核在等待数据时线程会立即返回进行其他操作,减少了 IO 操作的阻塞时间

同步非阻塞 IO 的缺点

‌‌‌‌  线程会不断轮询内核,占用大量的 CPU 时间,效率低下。在高并发场景中性能非常的低。